From: Sander Dijkhuis Date: Sun, 12 Jul 2009 21:44:06 +0000 (+0200) Subject: Bug 588405 - Handle status menu button appearance in JavaScript X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~11208 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=10e30f7dc7fd6746ede74fa9bda4e937c6e08ddc;p=gnome-shell.git Bug 588405 - Handle status menu button appearance in JavaScript Make the ClutterText and ClutterTexture from the status menu button available to JavaScript, and from there improve the font definition of the user name. shell-status-menu.[ch]: Add public get_name() and get_icon() functions that return the user name label and icon texture, remove the markup from update_name_text(). panel.js: Set the font for the button consistently with that of the other panel labels. --- diff --git a/js/ui/panel.js b/js/ui/panel.js index 24ac5d240..a7f682769 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -93,6 +93,7 @@ Panel.prototype = { let statusbox = new Big.Box(); let statusmenu = this._statusmenu = new Shell.StatusMenu(); + statusmenu.get_name().fontName = 'Sans Bold 16px'; statusbox.append(this._statusmenu, Big.BoxPackFlags.NONE); let statusbutton = new Button.Button(statusbox, PANEL_BUTTON_COLOR, PRESSED_BUTTON_BACKGROUND_COLOR, true, null, PANEL_HEIGHT); diff --git a/src/shell-status-menu.c b/src/shell-status-menu.c index fa0be00b9..4507d6a78 100644 --- a/src/shell-status-menu.c +++ b/src/shell-status-menu.c @@ -117,12 +117,9 @@ static void update_name_text (ShellStatusMenu *status) { ShellStatusMenuPrivate *priv = status->priv; - char *markup; - markup = g_markup_printf_escaped("%s", - gdm_user_get_real_name (GDM_USER (priv->user))); - clutter_text_set_markup (priv->name, markup); - g_free (markup); + clutter_text_set_text (priv->name, + gdm_user_get_real_name (GDM_USER (priv->user))); } static void @@ -655,3 +652,27 @@ shell_status_menu_toggle (ShellStatusMenu *status, ClutterEvent *event) status, 1, event->button.time); } } + +/** + * shell_status_menu_get_name: + * @menu: a #ShellStatusMenu + * + * Return value: (transfer none): the #ClutterText actor with the user's name. + */ +ClutterText * +shell_status_menu_get_name (ShellStatusMenu *menu) +{ + return menu->priv->name; +} + +/** + * shell_status_menu_get_icon: + * @menu: a #ShellStatusMenu + * + * Return value: (transfer none): the #ClutterTexture actor with the user icon. + */ +ClutterTexture * +shell_status_menu_get_icon (ShellStatusMenu *menu) +{ + return menu->priv->user_icon; +} diff --git a/src/shell-status-menu.h b/src/shell-status-menu.h index d31dca67b..983174187 100644 --- a/src/shell-status-menu.h +++ b/src/shell-status-menu.h @@ -37,6 +37,9 @@ GType shell_status_menu_get_type (void); void shell_status_menu_toggle (ShellStatusMenu *menu, ClutterEvent *event); +ClutterText *shell_status_menu_get_name (ShellStatusMenu *menu); +ClutterTexture *shell_status_menu_get_icon (ShellStatusMenu *menu); + G_END_DECLS #endif /* __SHELL_STATUS_MENU_H__ */